home *** CD-ROM | disk | FTP | other *** search
- class BOSS2Attack1 extends EnemyAction {
- private int fxTime = 0;
- private boolean[] fShot = new boolean[3];
-
- public BOSS2Attack1(StgFrame var1) {
- super(var1);
- this.fShot[0] = false;
- this.fShot[1] = false;
- this.fShot[2] = false;
- }
-
- public boolean action(EnemyIndex var1) {
- BOSS2Index var2 = (BOSS2Index)var1;
- int var3 = super.resource.getEnemySpeed();
- super.resource.getEnemy();
- if (this.fxTime >= 0 && !this.fShot[0]) {
- this.putShot(var1);
- this.fShot[0] = true;
- }
-
- if (this.fxTime >= 1048576 && !this.fShot[1]) {
- this.putShot(var1);
- this.fShot[1] = true;
- }
-
- if (this.fxTime >= 2097152 && !this.fShot[2]) {
- this.putShot(var1);
- this.fShot[2] = true;
- }
-
- if (this.fxTime >= 4194304) {
- if (var2.getCount() != 3) {
- var1.setEnemyAction(new BOSS2Nomal(super.resource));
- } else {
- var1.setEnemyAction(new BOSS2TableMake(super.resource));
- }
- }
-
- this.fxTime += var3;
- this.destroy(var1);
- return true;
- }
-
- private boolean putShot(EnemyIndex var1) {
- Enemy var2 = super.resource.getEnemy();
- Position var3 = ((StgObjectIndex)var1).getPosition();
- int var5 = var3.getX();
- int var6 = var3.getY() - 2621440;
- int var7 = -327680;
- short var8 = 3072;
- int var9 = -131072;
-
- for(int var10 = 0; var10 != 8; ++var10) {
- ES10Index var4 = new ES10Index(new Position(var5, var6, 0), StgData.getSpriteAnimeES12Nomal(), new Position(655360, 655360, 0), 0, new ES12Nomal(super.resource), 0, 65536, 100, 1, var7 + -(Fixed.Random() << 1), var8 + (Fixed.Random() >> 2), var9);
- ((StgObject)var2).add(var4);
- var9 += 32768;
- }
-
- return true;
- }
-
- public boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2) {
- super.resource.getEnemy();
- return ((StgObjectIndex)var1).checkHit(var2);
- }
-
- public boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2) {
- boolean var3 = false;
- super.resource.getEnemy();
- if (((StgObjectIndex)var1).checkHit(var2)) {
- var3 = true;
- }
-
- return var3;
- }
-
- public boolean checkHitBom(EnemyIndex var1) {
- super.resource.getEnemy();
- int var2 = var1.getHitPoint();
- var2 -= 983040;
- if (var2 < 0) {
- var2 = 0;
- }
-
- var1.setHitPoint(var2);
- return true;
- }
-
- private boolean destroy(EnemyIndex var1) {
- super.resource.getEnemy();
- SpriteAnimeIndex var2 = ((StgObjectIndex)var1).getSpriteAnimeIndex();
- boolean var3 = false;
- Status var4 = super.resource.getStatus();
- if (var1.getHitPoint() == 0) {
- var4.add(var1.getScore());
- var2.setSpriteAnimeData(StgData.getSpriteAnimeDestroyA());
- var1.setEnemyAction(new BOSSDestroy(super.resource));
- var3 = true;
- }
-
- return var3;
- }
- }
-